<!DOCTYPE html>
<html>
<head>
    <title></title>
    <style>canvas { width: 100%; height: 100% }</style>
    <script src="js/three.js"></script>
</head>
<body>
    <script>
        var scene = new THREE.Scene();//场景
		
        var camera = new THREE.PerspectiveCamera(75, window.innerWidth/window.innerHeight, 0.1, 1000);//透明相机
		
        var renderer = new THREE.WebGLRenderer();//渲染器
		
        renderer.setSize(window.innerWidth, window.innerHeight);//设置渲染器的大小为窗口的宽度，也就是内容区的宽度
		
        document.body.appendChild(renderer.domElement);//渲染器renderer.domElement元素，表示渲染器中的画布，所有的渲染都是画在domElement上的，所以这里的appendChild表示将这个domElement挂接在body下面，这样渲染的结果就能够在页面中显示了。

        //将一个物体添加到场景中：
        var geometry = new THREE.CubeGeometry(1,1,1);//THREE.CuubeGeometry是一个几何体，正方体或长方体由它的三个参数所决定，
        var material = new THREE.MeshBasicMaterial({color: 0x00ff00});
        var cube = new THREE.Mesh(geometry, material); scene.add(cube);
        camera.position.z = 5;
        function render() {
            //实时渲染：需要不停的对画面进行渲染，即使画面中什么也没有改变，也需要重新渲染。
            requestAnimationFrame(render);//这个函数就是让浏览器去执行一次参数中的函数，这样通过上面render中调用requestAnimationFrame()函数，requestAnimationFrame()函数又让rander()再执行一次，就形成了我们通常所说的游戏循环了。
            cube.rotation.x += 0.1;
            cube.rotation.y += 0.1;
            renderer.render(scene, camera);//渲染函数：scene-->前面定义的场景 camera-->前面定义的相机
        }
        render();
    </script>
</body>
</html>